4-5 Channel Coding and Error Control

章节目录
- 章节目录
- 4-1 错误控制的动机 Motivations for Error Control
- 4-2 前向纠错 Forward Error Correction
- 4-3 自动重传请求 Automatic Repeat Request
- 4-4 混合 ARQ 与方案比较 Hybrid ARQ and Comparison
- 4-5 码率与冗余 Code Rate and Redundancy
- 4-6 奇偶校验与矩形码 Parity and Rectangular Codes
- 4-7 编码增益 Coding Gain
- 4-8 线性分组码 Linear Block Codes
- 4-9 生成矩阵与系统码 Generator Matrix and Systematic Codes
- 4-10 校验矩阵与伴随式 Parity-Check Matrix and Syndrome
- 4-11 标准阵列译码 Standard Array Decoding
- 4-12 例题 Worked Examples
4-1 错误控制的动机 Motivations for Error Control
严重传输问题在通信中很常见。陆地移动通信面临多径衰落(反射、绕射、散射)与低信噪比;卫星通信受限于下行方向的发射功率,卫星能源有限。
信道编码 Channel Coding
信道编码 Channel Coding 向信息比特加入受控冗余,使接收端能够检测甚至纠正传输错误,从而提高可靠性。
无编码时

理想情况下,即使码字被噪声破坏,译码器也应能判断发送的是哪一个码字。错误控制至少包含检错,最好同时包含纠错;只检错时,收端只能请求重传。
4-2 前向纠错 Forward Error Correction
前向纠错 Forward Error Correction
前向纠错 Forward Error Correction, FEC 在发送端加入冗余,使接收端无需重传即可纠正部分错误。
主要的 FEC 类别:
- 线性分组码 Linear Block Codes;
- Reed-Solomon 码;
- 卷积码 Convolutional Codes;
- Turbo 码;
- LDPC 码;
- Polar 码。
FEC 适用于三类场景:重传会带来过大时延;没有反向链路;错误频繁到反复重传已不划算。
4-3 自动重传请求 Automatic Repeat Request
自动重传请求 Automatic Repeat Request
自动重传请求 Automatic Repeat Request, ARQ 由接收端检测错误并请求重传,发送端按确认结果决定是否重发。
接收正确时目的端回 ACK,检测到错误时回 NAK。帧出错或丢失都需要重传。

停止等待 ARQ 是最简单的形式:发送一个包后等待 ACK,再发下一个包。包出错或丢失时收端不回 ACK,发端超时后重发。设包传输时间为
回退 N 帧 ARQ 让发送端在长度为
选择重传 ARQ 让收端用缓冲区暂存所有已收到的包。发现错误时只请求重传出错的那个包,收齐后再按顺序重排。它的重传次数最少,代价是更高的缓存需求与实现复杂度。
ARQ 的实现比 FEC 简单,但在以下情况下不适用:没有反向信道,或 ARQ 的时延过大;重传策略不便实现;无纠错时的预期错误数过多,导致重传开销不可接受。
4-4 混合 ARQ 与方案比较 Hybrid ARQ and Comparison
| 项目 | FEC | ARQ |
|---|---|---|
| 冗余用途 | 纠错 | 检错 |
| 可纠正错误时 | 无需重传 | 仍需重传 |
| 时延 | 低 | 重传带来时延 |
| 反向信道 | 不需要 | 需要 |
| 译码复杂度 | 较高 | 较低 |
混合 ARQ Hybrid ARQ
混合 ARQ Hybrid ARQ 把 FEC 与重传结合:先发送 FEC 编码包,译码失败时再请求重传,并把多次传输的信息合并使用。
HARQ 保留了 FEC 的低时延,又用重传兜住译码失败的情况,现代蜂窝系统普遍采用。
4-5 码率与冗余 Code Rate and Redundancy
分组编码把每个
码率 Code Rate
码率 Code Rate 是数据比特占码块总比特的比例:
冗余度定义为冗余比特与数据比特之比:
(15,11) 码中
4-6 奇偶校验与矩形码 Parity and Rectangular Codes
4-6-1 奇偶校验码 Parity-Check Codes
奇偶校验码 Parity-Check Code
奇偶校验码 Parity-Check Code 在数据块后附加一个校验位,使整个码字中 1 的个数为偶数(偶校验)或奇数(奇校验)。
接收端对码字做模 2 求和,与已知校验比较。它能检出全部奇数个错误,偶数个错误则可能漏检;即使检出,也无法指出错在哪一位,校验位本身也可能出错。按最小距离计,保证检错能力为 1 位,且没有纠错能力。
例如发送
设比特错误相互独立、概率为
出现
漏检概率是所有偶数个错误的概率之和:
PROBLEM L4-5-E1
(4,3) 奇偶校验码,
SOLUTION
位置数为
2 个错误的概率:
漏检概率:
4-6-2 矩形码 Rectangular Code
矩形码 Rectangular Code
矩形码 Rectangular Code 把信息比特排成矩形阵列,为每一行和每一列各加一个奇偶校验位,行、列同时校验。
PROBLEM L4-5-E2
接收码字排成
找出并纠正其中的错误。
SOLUTION
逐行求和:第 1 行 3 个 1,校验失败;第 2、3 行均为偶数个 1,校验通过。
逐列求和:第 3 列 3 个 1,校验失败;第 1、2、4 列通过。
失败的行与列交叉于第 1 行第 3 列,该位由 1 改为 0:
行列各只有一处失败时,矩形码可以定位并纠正单个错误;失败处多于一处时无法纠正。
4-7 编码增益 Coding Gain

图中虚线为编码后的误码率曲线,实线为未编码曲线。低
PROBLEM L4-5-E3
系统
SOLUTION
带宽扩展为
即增加 36%。码比特与信息比特的能量关系为
换成 dB:
编码后单个码比特的错误概率:
一块 15 比特中出现 2 个及以上错误时无法纠正,块错误概率近似为
对照未编码情形,11 比特块至少 1 位错误的概率:
块错误概率从
NOTE
按
4-8 线性分组码 Linear Block Codes
4-8-1 线性性质与码字空间 Linearity and Codeword Space
线性分组码 Linear Block Code
线性分组码 Linear Block Code 是满足线性性质的
模 2 加法与乘法的结果如下:
| 运算 | 结果 |
|---|---|
全部二元
以 (6,3) 码为例,
| 信息向量 | 码字 |
|---|---|
| 000 | 000000 |
| 100 | 110100 |
| 010 | 011010 |
| 110 | 101110 |
| 001 | 101001 |
| 101 | 011101 |
| 011 | 110011 |
| 111 | 000111 |
4-8-2 汉明重量与距离 Hamming Weight and Distance
汉明重量 Hamming Weight
汉明重量 Hamming Weight 是二元向量中非零元素的个数。
汉明距离 Hamming Distance
汉明距离 Hamming Distance 是两个向量对应位置取值不同的位数,等于二者之和的汉明重量:
最小距离 Minimum Distance
最小距离 Minimum Distance 是码集中任意两个码字距离的最小值:
合法码字越接近,少量错误就可能把接收向量变成另一个合法码字;码字间距越大,可容忍的错误越多。纠错能力
TIP
这里的
PROBLEM L4-5-E4
线性分组码的最小距离为 5。求最大检错能力与最大纠错能力。
SOLUTION
4-9 生成矩阵与系统码 Generator Matrix and Systematic Codes
生成矩阵 Generator Matrix
生成矩阵 Generator Matrix
以 (6,3) 码为例:
信息向量
系统码 Systematic Code
系统码 Systematic Code 把
其中
4-10 校验矩阵与伴随式 Parity-Check Matrix and Syndrome
4-10-1 校验矩阵 Parity-Check Matrix
校验矩阵 Parity-Check Matrix
校验矩阵 Parity-Check Matrix
PROBLEM L4-5-E5
某线性分组码的码字定义为
SOLUTION
分别令
这是
4-10-2 伴随式计算 Syndrome Computation
伴随式 Syndrome
伴随式 Syndrome 是接收向量与校验矩阵的乘积:
伴随式只与错误图样有关,与发送的码字无关。这正是译码可以只靠伴随式查表的原因。
4-11 标准阵列译码 Standard Array Decoding
标准阵列 Standard Array
标准阵列 Standard Array 把
陪集首取错误图样,取法是从重量最小、尚未出现过的向量依次选取。同一陪集中所有向量的伴随式相同:
因此只要每个陪集的伴随式互不相同,就能由伴随式唯一确定错误图样。若真实错误不是陪集首,译码会给出错误结果。
(6,3) 码的标准阵列:
| 陪集首 | |||||||
|---|---|---|---|---|---|---|---|
| 000000 | 110100 | 011010 | 101110 | 101001 | 011101 | 110011 | 000111 |
| 000001 | 110101 | 011011 | 101111 | 101000 | 011100 | 110010 | 000110 |
| 000010 | 110110 | 011000 | 101100 | 101011 | 011111 | 110001 | 000101 |
| 000100 | 110000 | 011110 | 101010 | 101101 | 011001 | 110111 | 000011 |
| 001000 | 111100 | 010010 | 100110 | 100001 | 010101 | 111011 | 001111 |
| 010000 | 100100 | 001010 | 111110 | 111001 | 001101 | 100011 | 010111 |
| 100000 | 010100 | 111010 | 001110 | 001001 | 111101 | 010011 | 100111 |
| 010001 | 100101 | 001011 | 111111 | 111000 | 001100 | 100010 | 010110 |
对每个陪集首计算
| 错误图样 | 伴随式 |
|---|---|
| 000000 | 000 |
| 000001 | 101 |
| 000010 | 011 |
| 000100 | 110 |
| 001000 | 001 |
| 010000 | 010 |
| 100000 | 100 |
| 010001 | 111 |
错误图样 Error Pattern
错误图样 Error Pattern
译码步骤:
- 计算伴随式
; - 在查找表中找到伴随式相同的陪集首
; - 把
当作信道引入的错误; - 输出
。
PROBLEM L4-5-E6
(6,3) 码发送
SOLUTION
查表得错误图样
与发送码字一致。
4-12 例题 Worked Examples
PROBLEM L4-5-E7
(6,3) 码的生成矩阵为
- 信息向量
对应的码字; - 该码的校验矩阵
; - 判断
是否为合法码字。
SOLUTION
。 已是系统形式 , 为前三列,故 :
- 计算伴随式,
在第 1、2、4、5 位为 1,对应列之和:
PROBLEM L4-5-E8
(7,4) 码的校验矩阵
收到
SOLUTION
验证:
